//0 1 2 3 4 5 6 7
// 0 1 3 4 6 7
// 用队列模拟，队首取数，用一个计数器计数，隔2个删一个，其他的重新放到队尾
#include <iostream>
#include <queue>

using namespace std;

int main()
{
  int n;
  while (cin >> n)
  {
    queue<int> q;
    for (int i = 0; i < n; i++)
    {
      q.push(i);
    }
    // count 计数
    int count = 0;
    while (q.size() != 1)
    {
      if (count != 2)
      {
        int b = q.front();
        q.pop();
        q.push(b);
        count++;
      }
      else
      {
        q.pop();
        count = 0;
      }
    }
    int c = q.front();
    cout << c << endl;
  }
  return 0;
}